作業Log | 関連ページリストを吹き出し表示するUserScript
2020-10-04 19:24:35
少し改造してみる
19:25:39 まずはrefactoringしてみる
やりながらprogramの構造を調べる
21:19:17 改造終了
classを使った
JQueryをnative APIに書き換えた
21:19:45 試してみる
21:34:18 表示されない
e.targetの中身を調べる
21:35:16 #editorにmouseenter event handlerを登録していたので、表示されないのも当たり前だった
編集画面全体へしか作用できない
linkが生成される度に、addEventListenerを登録する
22:28:07 バグ取り中
まだうまく表示されない
関連ページリストからの取り込みが出来ていない
22:31:25 関連ページリストは#editorの外だった
そりゃ取得できないや
22:42:45 cardをうまく複製できていない?
孫要素がcloneされていない
22:53:11 カードは正常に表示されるようになった。しかし位置と色がおかしい
dark themeなのに、背景色が黒にならない
カードの表示位置が常に#editorの一番下になる
cssが適用されていない可能性がある
cssをconsole.logで表示してみる
22:57:30 やはり適用されていなかった
23:02:35 位置指定系css propertiesは、末尾にpxをつけないといけないようだ
23:26:21 表示されるリンクと表示されないリンクとがある
hashtagは出てくるが、文中リンクのときは出てこない
23:28:31 hashtagかどうかではなく、半角英数かどうかが問題だった
hrefからリンクの名前を取っているので、全角文字だとescapeされてしまう
decodeURIComponentで逆変換をかける
23:31:02 成功
23:31:13 あとは位置を直す
/icons/done.icon23:35:06
子要素の変化を補足できていない?
テキスト編集は#editorの孫要素だった
監視の対象外だった
23:48:17 孫要素を監視に加える
また変更がある度に#editor中の全てのlinkにeventlistenerを登録するようにする
2020-10-05 00:16:49
文字が少し大きい
サムネイルの本文が十分に見えない
小さめにする
タイトルとサムネ本文との間を詰めた
タイトルを2行に収めた
00:37:08 いい感じ
https://gyazo.com/cf0db91f080afabfbadc5835080b5e66
とりあえずここまで
構文解析は飛ばした
流石にやっていられない
03:52:04 タイトル入れるの忘れてた
入れる
/icons/done.icon03:58:22 入れた
他にいくつか<div>が抜けていたので入れた
03:58:47 こんな感じ
https://gyazo.com/fc1774890571b2e43c6a57cae847c69b
まあこれでいいだろう。
04:06:55 カードがたくさんあるときにスクロールバーが出てこないことに気づいた
カードが折り返し表示されてしまっている
04:28:01 ScrapScriptの元のstyleをもう一度引っ張ってくる
/icons/done.icon04:29:15 成功!
<div>とfloat: none !importantの組み合わせでなんとかなった
04:48:10 読み込みに失敗した場合は何もしないようにする
/icons/done.icon05:00:33
こんどこそおしまい。
何故かtobackLinksDataの処理に失敗している
backlinksが空っぽ
12:45:41 原因を究明する
13:00:39 型があっていなかった。直した
13:00:56 今度は表示するカードの選択ができていない
検索結果が空っぽ
これも型があっていないせいか?
13:02:08 data.titleとtitleを取り違えていた
13:04:00 直った
13:04:13 出てきた問題
titleLcをtitleに直していない
13:05:42 これは今直す
13:07:33 titleLcに統一したほうがよさそう
titleだと と の区別ができない
/icons/done.icon13:12:06 spaceを_に置換した
外部projectのページリストが出ないようになった
重複したカードの除去をやっていない
13:23:09 たくさんprojectを読み込むと、関連ページリストの計算が重くなる
WebWorkerに委託する必要があるな
今後の課題
14:05:03 今WebWorkerを使う形に書き換える
どうするか
その中でWebWorkerを呼び出す
15:06:27 終了。テストする
15:17:08 ページカードが二重に出てしまっている
flatMapの合体で、重複を消していないのがいけないのか?
15:19:17 直してみた
15:20:07 違うっぽい
15:22:01 なんじゃこりゃ
https://gyazo.com/76605d176b8b32f529aa07c9832e88e6
15:24:19 何故か同じback linkが3つもある
https://gyazo.com/dc3462c5b42eacd802ffcdc203c46efe
15:26:43 わかってきた
ただの文字列ではなくObjectだから、Setで重複を除去できなくなっている?
15:35:39 直った
一旦一つの文字列にして評価した
15:35:54 JSON.stringifyを使ったほうが楽か。
/icons/done.icon15:39:41
ここまでで今日は終わりにしよう。
16:52:21 同じカードがまだ表示されている?
backLinksの方の重複をどうにかしないと
/icons/done.icon17:00:37 直った
2021-01-03 23:39:32 久々の更新
23:46:35 おかしいな、↑の通りにやっても動かない?
しかも/icons2/firefox.iconには実装されていない
23:59:49 できた!
ただスクロールが遅いな
https://gyazo.com/b700387ad21c8b84523b91dd9e8e7b34
50倍速にしよう
2021-01-04 00:11:58 まあこれでいいや
behavior: 'smooth'もつけた